//
//  main.swift
//  swift4
//
//  Created by lanou on 16/10/24.
//  Copyright (c) 2016年 cn.jhc. All rights reserved.
//
import Foundation
/*
数组（一些数据的有序集合）Array
可变数组可以动态添加元素，删除元素
swift中的数组可以存放多种数据类型（c语言中只能存放一种）
*/
//（1）字面创建数组
let  numArray = [1,2,3,4]
let  numArray1 = [1.2,1.3,3.3,4.6]
//表示创建一个字符型数组
let  numArray2: [String] = [String]()
//直接打印数组
println("numArray=\(numArray)")
//数组中存放多种数据类型
let array = [1,2,3,23.23,"hello"]
let array1:[NSObject] = [1,2,3,23.23,"hello"]
//访问数组元素：数组下标
println(array1[4])
//数组容量（数组的元素个数）：count
let count = array1.count
println(count)

/*
遍历
（1）for循环遍历
（2）for-in遍历:把数组里面的元素依次给element
 (3)元祖遍历
*/
for var i = 0;i<array.count;i++ {
  println(array[i])
}
for element in array1{
 println(element)
}
let arraynum = [2,8,1,9,7,1,5,6,3,0]
 var sum = 0
for i in arraynum{
    if i%2 == 0{
        print(i);
    }else{
       
        sum+=i
    }
}
println("奇数\(sum)")

//for(index,element) in arraynum.enumerate(){
// println("下标\(indx) ,\(element)")
//}
//可变数组：[Int] 表示一个整型数组，后面的（）表示初始化
var marray = [Int]()//创建了一个空的整型数组
var mStrArray = ["hello","world"]
//不可变数组中的所有操作（访问某一个元素，数组的元素个数，遍历）在可变数组中都可以使用，但是可变数组中的特有操作（添加，删除）在不可变数组中不可用
//增加元素:增加的元素必须跟数组中的元素是一样的
//如果数组类型是：[NSObeject],可以增加任意类型的元素

marray.append(12)
mStrArray.append("heshuai")
println(marray)

//在指定位置插入元素
mStrArray.insert("shuai", atIndex:1)
println(mStrArray)
//获取某一个元素在数组中的下标
//let index0 = mStrArray.indexOf("hello")
//println("hello的下标\(index0)")
//删除元素
//移除数组里面的所有元素并且清空内存
mStrArray.removeAll()
//移除数组里面的所有元素并且是否保持数组原有的容量
mStrArray.removeAll(keepCapacity: true)

//元祖是一种自定义特定数据类型的集合
let num0:(Int,Double) = (1,2.3)

let value:(Int,Double,String) = (23,2.3,"23")
//访问元祖中的元素
let valueElement0 = value.0
let valueElement1 = value.1
